การจัดการค่าใช้จ่ายต่างๆโดยการติด tag ให้กับ resource ที่สร้างไว้ และตรวจสอบ tag ด้วย AWS Config

การจัดการค่าใช้จ่ายต่างๆโดยการติด tag ให้กับ resource ที่สร้างไว้ และตรวจสอบ tag ด้วย AWS Config

ในบทความนี้ผมจะมาแนะนำวิธีการตรวจสอบค่าใช้จ่ายด้วยการติด tag เพื่อให้ง่ายต่อการคิดค่าใช้จ่ายตาม tag ที่ได้แบ่งไว้ และตรวจสอบ resource ที่ไม่ได้ติด tag ด้วย AWS Config

การสร้าง resource ต่างๆภายใน Cloud ของ AWS จะสามารถติด tag ให้กับ resource นั้นๆได้ โดยการติด tag ให้กับ resource มีประโยชน์ต่างๆ เช่น สามารถใช้ Cost Explorer สำหรับสำรวจค่าใช้จ่ายของ resource ที่มีการติด tag ที่เรากำหนดได้
ซึ่งในบทความนี้เราจะใช้ tag ร่วมกับ AWS Config เพื่อตรวจสอบ resource ให้เป็นไปตามที่เรากำหนด

Step 1: ตั้งค่า rule ใน AWS Config

ใน management console ให้มาที่บริการ AWS Config จากนั้นคลิกที่ Rules ในแถบด้านซ้าย

จากนั้นคลิกที่ Add rule

ในช่อง Find Rules ให้ค้นหาคำว่า required-tags จากนั้นติ๊ก แล้วกด Next

ตั้งชื่อตามที่ต้องการในช่อง Name โดยในบทความนี้จะใช้คำว่า Red-tags

ในส่วนของ Evaluation mode สำหรับบทความนี้จะตรวจสอบเฉพาะ EC2 ดังนั้นผมจะตั้งค่าตามภาพด้านล่างนี้

ส่วนของ Parameters ให้กำหนดค่าที่เราต้องการ ซึ่งผมจะกำหนด tag key เป็น Red จากนั้นเลื่อนลงแล้วกด Next

ทำการตรวจสอบการตั้งค่า จากนั้นกด Save

Step 2: สร้าง Channel ใน Slack, ตั้งค่า Amazon SNS และ AWS Chatbot

สำหรับส่วนนี้ สามารถดูการตั้งค่าในแต่ละส่วนได้จากบทความนี้
การส่ง Amazon GuardDuty ด้วย AWS Chatbot ไปยัง Slack
โดยดูที่หัวข้อ การสร้าง Channel ใน Slack, การตั้งค่า Amazon SNS และ การตั้งค่า AWS Chatbot

Step 3: ตั้งค่า Amazon EventBridge

ไปที่บริการ Amazon EventBridge จากนั้นคลิกที่ Rules ในแถบด้านซ้าย แล้วคลิก Create rule

ตั้งชื่อตามที่ต้องการ จากนั้นคลิก Next

ตั้งค่าตามภาพด้านล่าง

ในส่วนของ Creation method ให้ใส่โค๊ดตามนี้ และแก้ไขชื่อในส่วนของ configRuleName ให้เป็น rule ตามที่เราตั้งชื่อใน AWS Config ซึ่งในบทความนี้จะใช้ชื่อ Red-tags จากนั้นคลิก Next

{
  "source": ["aws.config"],
  "detail-type": ["Config Rules Compliance Change"],
  "detail": {
    "messageType": ["ComplianceChangeNotification"],
    "configRuleName": ["Red-tags"],
    "newEvaluationResult": {
      "complianceType": ["NON_COMPLIANT"]
    }
  }
}


ในหน้า Select target(s) ให้เลือกบริการเป็น SNS และเลือก Topic ที่เราสร้างไว้จาก Step 2

จากนั้นคลิก Next จนไปถึงหน้า Review and create แล้วคลิก Create rule

ทดสอบ

ทดสอบโดยการสร้าง EC2 instance สามารถดูวิธีการสร้างได้ที่นี่
วิธีติดตั้ง Amazon Linux 2023 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY

เมื่อทำการสร้าง EC2 instance เรียบร้อย ก็จะมีแจ้งเตือนจาก Chatbot มาที่ slack เนื่องจากตอนสร้าง EC2 ไม่ได้กำหนด tag ให้มีค่าเป็น Red

สรุป

เราสามารถใช้ AWS Config ในการกำหนดการตั้งค่าให้เป็นไปตามการปฏิบัติที่ถูกต้องหรือข้อกำหนดที่เราต้องการ และเมื่อมีการสร้าง resource ที่ไม่เป็นไปตามที่เรากำหนด ก็สามารถทราบได้ทันทีผ่านทาง slack

อ้างอิง

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.